<?php

namespace app\common\validate;

use think\facade\Request;
use think\Validate;

/**
 *validate基类
 */
class Base extends Validate
{

    public function gocheck($data = '')
    {
        //1.获取http传入的参数
        $params = $data ? $data : Request::instance()->param();

        //2.对这些参数做校验
        $result = $this->check($params);

        if (!$result) {
            return [
                'code' => 0,
                'msg' => $this->getError(),
            ];
        } else {
            return [
                'code' => 1,
            ];
        }
    }


    /**
     * 参数为正整数，自定义验证规则
     * @param $value
     * @param string $rule
     * @param string $data
     * @param string $field
     * @return bool
     */
    protected function isInt($value, $rule = '', $data = '', $field = '')
    {
        if (is_numeric($value) && is_int($value + 0) && ($value + 0)) {
            return true;
        } else {
            return $field . '应为正整数';
        }
    }

    /**
     * 参数不为空，自定义验证规则
     * @param $value
     * @param string $rule
     * @param string $data
     * @param string $field
     * @return bool
     */
    protected function isNotEmpty($value, $rule = '', $data = '', $field = '')
    {
        if (empty($value)) {
            return false;
        } else {
            return true;
        }
    }

    /**
     * 没有使用TP的正则验证，集中在一处方便以后修改.
     * 不推荐使用正则，因为复用性太差
     * @return bool 手机号的验证规则
     */
    protected function isMobile($value)
    {
        $rule = '^1(3|4|5|7|8)[0-9]\d{8}$^';
        $result = preg_match($rule, $value);
        if ($result) {
            return true;
        } else {
            return false;
        }
    }


}